/*
 * Nodo.h
 *
 *  Created on: Sep 21, 2011
 *      Author: Nodo Team
 */

#ifndef NODO_H_
#define NODO_H_

#include "Registro.h"
#include "RegistroInterno.h"
#include "ResultadoOperacion.h"
#include <vector>
#include <string>

using namespace std;


class Nodo {

private:
	int nivel;
	int capacidadMax;
	int capacidadMin;
	vector<Registro*>* listaRegistros;
	int tamaniooNodo;
	int numeroNodo;


public:

	Nodo();
	virtual ~Nodo();
    int getCapacidadMax() const;
    int getCapacidadMin() const;
    vector<Registro*> *getListaRegistros() const;
    int getNivel() const;
    int getNumeroNodo() const;
    int getTamanioNodo() const;
    void setCapacidadMax(int capacidadMax);
    void setCapacidadMin(int capacidadMin);
    void setListaRegistros(vector<Registro*> *listaRegistros);
    void setNivel(int nivel);
    void setNumeroNodo(int numeroNodo);
    void setTamanioNodo(int tamanioNodo);
    virtual ResultadoOperacion insertar(Registro* registro)=0;
    vector<Registro*>* getListaRegistrosIzq(string clave);
    vector<Registro*>* getListaRegistrosDer(string clave);




};

#endif /* NODO_H_ */
